Chapter 10. Managing RAID Components

Table of Contents
10.1. RAID Concepts
10.2. RAID Management Tasks

This chapter discusses the creation and maintenance of RAID sets that comprise a specific list of physical disks. All of the disks in a single RAID enclosure, along with the disks in any attached expansion enclosure, are controlled by the pair of RAID controllers in the RAID enclosure. This pair of RAID controllers and their attached disks form a single RAID subsystem. The SpinServer has as many RAID subsystems as it has RAID enclosures.

Each RAID subsystem is configured individually. By using the management software, you can identify which disks belong to which RAID subsystem and the state of each disk. Normally, individual disks can be part of a RAID set, be used as a hot spare, or be labeled as uncommitted.

Note: The information in this chapter applies only to SpinStor storage. This information does not apply to Network Appliance FAS270c storage or to any third-party vendors' storage. For information on managing LUNs on Network Appliance storage, see the FAS270c documentation.


10.1. RAID Concepts

A RAID set is a group of disks that work together to form a logical disk that is larger, faster, and more reliable than the individual disks. After a RAID set has been created, it can be configured as one large, fast disk for the purpose of setting up file systems.

If a disk from a RAID set fails, a hot spare is used to replace it. Due to this redundancy, the RAID set can operate even after one of its disks has failed. If a hot spare disk is available, the RAID controller can reconstruct the data that is stored on the failed disk and place the data onto the hot spare. After this rebuilding process is complete, the RAID set regains its performance and reliability. There can be more than one hot spare disk in a RAID subsystem. In this case, when a hot spare is needed to rebuild a RAID set, any hot spare disk can be used. The hot spare does not need to be physically located near the rest of the RAID set.

If a hot spare is not available, the RAID set cannot be rebuilt until a hot spare is provided. You can do this by removing the disk that has failed and replacing it with a new disk.

An uncommitted disk can be used in different ways. It can be combined with other uncommitted disks to form a RAID set, or it can be designated as a hot spare.

Note: The raid commands report the sizes of disk drives in gigabytes; however, the commands interpret “gigabyte” as 230 (1,073,741,824) bytes, not one billion bytes. Most disk-drive manufacturers interpret “gigabyte” as one billion bytes, so there can be a discrepancy between the output of the commands and the label on the disk. For instance, the commands can report a 36-GB drive as having a physical size of 34 GB.


10.2. RAID Management Tasks

If the SpinServer includes RAID sets that were preconfigured at the factory and background initialization is enabled, you are ready to create storage pools and virtual file systems. However, if the SpinServer does not include RAID sets that were preconfigured at the factory, creating a RAID set is your first RAID management task.

Furthermore, for every system, preconfigured or not, routine RAID management tasks must be done. These routine RAID management tasks are described in this chapter and include the following:

Before using a RAID enclosure, you must confirm that it is in the expected configuration by checking the following:

10.2.1. Managing RAID Sets

The device identification for a RAID set is in the format rsubsystem_numbersraidset_number, where subsystem_number indicates the RAID subsystem and raidset_number indicates the specific RAID set. For example, a device ID of r0s1 indicates that the device is on RAID subsystem 0 and has a RAID set number of 1.

10.2.1.1. Creating and Configuring a RAID Set

If the SpinServer does not include RAID sets that were preconfigured at the factory, or if you are adding a new SpinStor RAID enclosure to a system, your first step is to create a RAID set. If you set the new RAID set's status to online, the RAID set is available as soon as you create it. However, if you designate the status as offline, the RAID set is created but is not immediately available for storage-pool creation. Use the raid sets makeonline command to create a storage pool.

Note: When you create the first RAID set on a RAID subsystem, the creation process can take as long as two minutes. The process takes this long because a Reset command is issued to the RAID controllers after the creation process is completed. This is necessary because the strip size and cache line size are updated from the previous settings. This type of change requires the RAID controllers to be reset. If the RAID set on a RAID subsystem is not the first one created, the creation process is completed in a shorter time period.

RAID sets have five possible RAID levels: 0, 1, 3, 5, and 0+1. These levels have the following requirements:

  • A RAID set of level 0 must have at least two (2) disks

  • A RAID set of level 1 must have exactly two (2) disks

  • A RAID set of level 3 must have at least three (3) disks

  • A RAID set of level 5 must have at least three (3) disks

  • A RAID set of level 0+1 must have at least four (4) disks

After the creation and configuration of a RAID set, initialization of the RAID set begins as a background process at the first use of the RAID set. For example, if you create storage pools and assign storage units (RAID sets or JBOD disks) to the storage pools, background initialization automatically starts. As background initialization proceeds on the RAID set, you can use the newly created storage pool attached to the RAID set to create a virtual server. After the virtual server is created, you can create a virtual interface, specifying an appropriate IP address and netmask. After creating and mounting a VFS, you can write data to the RAID set as background initialization continues.

Note: Background initialization can be a lengthy process. It can take approximately one hour for every 70 GB of disk capacity. For example, initializing a 240-GB RAID set can take about three and one-half hours.

To create a RAID set, use the raid sets new command. The syntax of the command follows.

raid sets new -raidlevel {0 | 1 | 3 | 5 | 0+1} -stripsize {8 | 16 | 32 | 64} -writecacheenabled {true | false} -status RAID_status -disks [list_of_disks]

The following example creates a new RAID set. Explanations of the values are listed after the example.

spinserver::> raid sets new -raidlevel 5 -stripsize 8 -writecacheenabled true -status Online -disks [r0d1, r0d2, r0d5, r0d6, r0d9, r0d10, r0d13, r0d14, r0d17, r0d18, r0d21, r0d22, r0d25, r0d26, r0d29, r0d30]

where

  • 5 is the RAID level. Possible RAID levels are 0, 1, 3, 5, and 0+1. The defalt level is 5.

  • 8 is the RAID strip size in KB. The default setting is 32 KB. Other setting options are 16 KB, 32 KB, or 64 KB. A RAID strip is a piece of a single disk that is used for data storage. A RAID stripe is a set of the corresponding strips from all of the disks in a RAID set. The RAID strip size must match the RAID strip size that is currently set on the RAID controller. For best performance when using hardware-based RAID systems such as SpinStor disk arrays, NetApp recommends a total stripe size of 128 KB. To determine the proper strip size, divide 128 KB by the number of data disks, excluding parity disks, in the RAID set. For instance, if the RAID set has 16 data disks, use a strip size of 8 KB (that is, 128 KB/16 disks).

  • true enables the write cache. This is the default setting for the write cache. Enabling the write cache can result in higher system performance but can cause data loss if an error occurs.

  • Online is the status of the RAID set. This is the default value.

  • [r0d1, r0d2, r0d5, r0d6, r0d9, r0d10, r0d13, r0d14, r0d17, r0d18, r0d21, r0d22, r0d25, r0d26, r0d29] are the disk IDs of the disks to be included in the RAID set. The maximum number of disks in a single RAID set is 16. By default, all unused disk drives (up to 16) are included. If you are using the CLI and press the Tab key after the -disks parameter, all unused disk drives (up to 16) are automatically listed.

10.2.1.2. Displaying RAID Sets

After creating one or more RAID sets, you can display information about the RAID sets by using the raid sets show command. The command can be used without any parameters to display information about all RAID sets or with the -deviceid parameter to display information about a specific RAID set. The command displays the following information:

  • RAID level

  • Logical size (MB)

  • Physical size (MB)

  • Strip size (KB)

  • Cache line size (KB)

  • Initialization status

  • Status of write cache (enabled or disabled)

  • RAID set status (online or offline)

  • Number of disks in the RAID set

  • List of disks by ID number

  • LongOp in progress status (LongOp refers to operations that take a long time to complete; for example, RAID set initialization, rebuilding, and consistency checking)

The syntax of the command follows.

raid sets show [-deviceid device_ID]

The following example displays information about a RAID set with the device ID r0s0.

spinserver::> raid sets show -deviceid r0s0
   Device ID              r0s0                                    
   RAID Level             5                                       
   Logical Size (MB)      69424                                   
   Physical Size (MB)     104136                                  
   Strip Size (KB)        8                                       
   Cache Line Size (KB)   8                                       
   Initialized?           true                                    
   Write Cache Enabled?   false                                   
   Status                 Online                                  
   # Disks                3                                       
   Disks                  r0d2, r0d6, r0d10                       
   LongOp In Progress     None                                    

10.2.1.3. Modifying RAID Sets

To toggle the status of the write cache for a RAID set, use the raid sets modify command. To enable the write cache, use true as the argument. To disable the write cache, use false as the argument. The default setting is false.

Enabling the write cache can result in higher system performance, but can cause data loss if an error occurs.

The syntax of the command follows.

raid sets modify -deviceid device_ID -writecacheenabled {true | false}

The following example toggles the status of the write cache for a RAID set with an ID of r0s0 to true.

spinserver::> raid sets modify -deviceid r0s0 -writecacheenabled true

10.2.1.4. Deleting a RAID Set

If data on a RAID set becomes obsolete and is moved to an archive, you can delete the RAID set and free the storage space for other projects by using the raid sets delete command. Deleting a RAID set removes all information stored on the physical disks in the RAID set. For this reason, if the data is to be maintained, it is important to transfer the data to another location before deleting the RAID set.

The syntax of the command follows.

raid sets delete -deviceid device_ID

The following example deletes a RAID set with the ID r0s0.

spinserver::> raid sets delete -deviceid r0s0

Note: RAID sets in a RAID subsystem must be deleted in the reverse order in which they were created. For example, if the RAID sets in a RAID subsystem are r0s0, r0s1, and r0s2, you must delete r0s2 before deleting r0s1, and delete r0s0 last.

Note: Long-running operations including background initialization, rebuilding, and consistency checking must be stopped or allowed to complete before you delete a RAID set. If the raid sets delete command is issued while a long-running operation is running, a warning message is displayed and the RAID set is not deleted.

10.2.1.5. Locating a RAID Set

To determine the physical location of the disks that are included in a specific RAID set, use the raid sets locate command. The command causes the front panel LEDs of the disks in the RAID set to blink for the time specified in the command. The syntax of the command follows.

raid sets locate -deviceid device_ID -time minutes

The following example locates a RAID set with the ID r0s0 and causes the front-panel LEDs of the disks in the RAID set to blink for 2 minutes.

spinserver::> raid sets locate -deviceid r0s0 -time 2

10.2.1.6. Displaying Disk IDs

To display the IDs of the disks that are included in a RAID set, use the raid sets show-disks command. The command can be used without any parameters to display information about the disks in all RAID sets in the system or with the -deviceid parameter to display information about a specific RAID set. The syntax of the command follows.

raid sets show-disks [-deviceid device_ID]

The following example displays information about the disks in a RAID set with the ID r0s0.

spinserver::> raid sets show-disks -deviceid r0s0

10.2.1.7. Starting Background Initialization

When background initialization is enabled, the initialization process runs in the background. Although the initialization process can be very lengthy when it is performed in the background, other system processes can continue. Initialization can take about one hour for every 70 GB of disk capacity. For example, initializing a 240-GB RAID set can take about three and one-half hours.

Background initialization is enabled by default. To manually start background initialization, use the raid sets startbkginit command. The command has the following syntax:

raid sets startbkginit -deviceid device_ID

The following example starts background initialization on a RAID set named r0s0:

spinserver::> raid sets startbkginit -deviceid r0s0

10.2.1.8. Checking the Status of Background Initialization

To check the status of background initialization, use the raid sets bkginitstatus command.

Note: The raid sets bkginitstatus command works only if background initialization is enabled. Background initialization is enabled by default.

The syntax of the command follows.

raid sets bkginitstatus -deviceid device_ID

The following example checks the status of the background initialization of a RAID set with the ID r0s0.

spinserver::> raid sets bkginitstatus -deviceid r0s0
Action "Background Init Status" returned with the following status: 
Not in progress

10.2.1.9. Troubleshooting Background Initialization

If a bad block is encountered on a disk during background initialization, the initialization process fails. To work around this problem, use one of the following approaches:

  • Replace the bad disk and continue with background initialization, as follows:

    1. Identify the disk on which the bad block is located, and ensure that no problems exist on the other disks in the array.

    2. Pull the affected disk from the enclosure and wait until the status of the RAID set is reported as Critical.

    3. Reinsert the affected disk into the enclosure. The rebuilding process starts automatically.

    The advantage of this approach is that the RAID set remains online during the procedure. Disadvantages include the need to locate and manipulate the affected disk array, and the possibility of RAID-set corruption if there is a bad block on any other disk in the array.

  • Use foreground initialization to initialize the RAID set, as follows:

    1. Ensure that background initialization is complete on all other RAID sets.

    2. Use the filestorage vfs move command to move any VFSs from the storage pool or pools that are located on the affected RAID set. For more information, see Section 13.2.8.

    3. Use the storage pools delete or tools storage pools forcedelete command to delete the affected storage pool or pools. For more information, see Section 11.2.10 and Section 19.2.15, respectively.

    4. Use the raid sets modify command to disable background initialization on the affected RAID set or sets. For more information, see Section 10.2.1.3.

    5. Use the raid sets startinit command to initialize the affected RAID set or sets. For more information, see Section 10.2.1.10. Note that foreground initialization can be a lengthy process.

    6. When initialization has completed, recreate the storage pool or pools on the affected RAID set, then move the VFSs back to the storage pool or pools.

    The advantages of this approach are the ability to perform all tasks remotely through the management interface and the relative safety of the procedure (that is, because VFSs are moved off of the affected storage pool during the procedure). Disadvantages include the longer time requirement and the need for space on other storage pools to hold VFSs while the RAID set is being initialized.

After the RAID set is fully initialized, a bad block does not interfere with the correct operation of the RAID set.

10.2.1.10. Initializing a RAID Set

If background initialization is disabled, initialize a RAID set by using the raid sets startinit command. The syntax of the command follows.

raid sets startinit -deviceid device_ID

Note: Initializing a RAID set with the raid sets startinit command can be a lengthy process. Depending on the size and RAID level of the RAID set, it can take up to four hours. During this time, the RAID set is unusable for other processes. For these reasons, background initialization is recommended.

The following example initializes a RAID set with the device ID r0s0.

spinserver::> raid sets startinit -deviceid r0s0

10.2.1.11. To Stop Initialization of a RAID Set

To stop initialization of a RAID set when background initialization is disabled, use the raid sets stopinit command. The syntax of the command follows.

raid sets stopinit -deviceid device_ID

The following example stops the initialization of a RAID set with an ID of r0s0.

spinserver::> raid sets stopinit -deviceid r0s0

10.2.1.12. To Check the Status of Initialization

The degree of completion of the initialization of a RAID set can be determined by using the raid sets initstatus command. The syntax of the command follows.

raid sets initstatus -deviceid device_ID

The following example displays the initialization status of a RAID set with an ID of r0s0.

spinserver::> raid sets initstatus -deviceid r0s0

10.2.1.13. Taking a RAID Set Offline

When maintenance on more than one disk in a RAID set is necessary, you must take the RAID set offline before you begin the disk-maintenance tasks. Such tasks include the physical replacement of one or more malfunctioning disks or changing the physical location of a disk; that is, moving a disk from one slot to another, thereby causing the disk ID to change within the disk enclosure.

To take a RAID set offline, use the raid sets makeoffline command. The syntax of the command follows.

raid sets makeoffline -deviceid device_ID

The following example takes a RAID set with an ID of r0s0 offline.

spinserver::> raid sets makeoffline -deviceid r0s0

10.2.1.14. Bringing a RAID Set Online

After completing disk-maintenance tasks, bring a RAID set back online by using the raid sets makeonline command.

Note: The raid sets makeonline command is used to bring a RAID set back online after the raid sets makeoffline command has been used to take a RAID set offline. If the RAID set already is online, using the raid sets makeonline command has no effect.

The syntax of the command follows.

raid sets makeonline -deviceid device_ID

The following example brings a RAID set with an ID of r0s0 online.

spinserver::> raid sets makeonline -deviceid r0s0

10.2.1.15. Rebuilding a RAID Set

When maintenance on more than one disk in a RAID set is necessary, you must rebuild the RAID set by using the raid sets startrebuild command after the maintenance has been completed. Such disk-maintenance tasks include the physical replacement of one or more malfunctioning disks or changing the physical location of a disk; that is, moving a disk from one slot to another, thereby causing the disk ID to change within the disk enclosure. The syntax of the command follows.

raid sets startrebuild -deviceid device_ID

The following example begins the process of rebuilding a RAID set with the ID r0s0.

spinserver::> raid sets startrebuild -deviceid r0s0

10.2.1.16. Stopping the Rebuilding of a RAID Set

Use the raid sets stoprebuild command to stop the rebuilding process of a specified RAID set. The syntax of the command follows.

raid sets stoprebuild -deviceid device_ID

The following example stops the rebuilding process of a RAID set with the ID r0s0.

spinserver::> raid sets stoprebuild -deviceid r0s0

10.2.1.17. Checking the Status of the Rebuilding of a RAID Set

Use the raid sets rebuildstatus command to check the status of the rebuilding process of a RAID set. The syntax of the command follows.

raid sets rebuildstatus -deviceid device_ID

The following example checks the status of the rebuilding process of a RAID set with the ID r0s0.

spinserver::> raid sets rebuildstatus -deviceid r0s0

10.2.1.18. Checking the Consistency of RAID Set Configuration

By using the raid sets startconsistencycheck command, you can check that the parity information stored in a RAID set is correctly established. The RAID set uses parity to ensure that the data across a stripe is valid and that if a disk fails, the lost data can be accurately reconstructed.

10.2.1.18.1. Starting a RAID Set Consistency Check

To start a RAID set consistency check, use the raid sets startconsistencycheck command. Use the -restoreonerror parameter to set whether or not consistency errors are corrected; the default is false (that is, consistency errors are not corrected). The syntax of the command follows.

raid sets startconsistencycheck -deviceid device_ID -restoreonerror {true | false}

The following example starts a consistency check on the RAID set with ID r0s0, and does not correct errors in consistency (false).

spinserver::> raid sets startconsistencycheck -deviceid r0s0 -restoreonerror false

10.2.1.18.2. Stopping a RAID Set Consistency Check

Use the raid sets stopconsistencycheck command to stop a consistency check on a specified RAID set. The syntax of the command follows.

raid sets stopconsistencycheck -deviceid device_ID

The following example stops a consistency check on the RAID set with ID r0s0.

spinserver::> raid sets stopconsistencycheck -deviceid r0s0

10.2.1.18.3. Checking the Status of a RAID Set Consistency Check

To determine the degree of completion of the consistency check of a RAID set, use the raid sets consistencycheckstatus command. The syntax of the command follows.

raid sets consistencycheckstatus -deviceid device_ID

The following example checks the status of a consistency check being run on the RAID set with ID r0s0.

spinserver::> raid sets consistencycheckstatus -deviceid r0s0
Action "Consistency Check Status" returned with the following status:
In progress 50%

10.2.1.19. Forcibly Deleting a RAID Set

In some circumstances it can be necessary to forcibly delete a RAID set that cannot be deleted by using the raid sets delete command. In this case, use the tools raid sets forcedelete command. The command has the following syntax:

tools raid sets forcedelete -deviceid device_ID

The following example forcibly deletes a RAID set with the ID r0s0:

tools raid sets forcedelete -deviceid r0s0

10.2.2. Managing RAID Subsystems

A RAID subsystem consists of all the RAID controllers, disk enclosures, disk drives, and RAID sets that are connected to a single SpinServer. A RAID set is a grouping of three or more disks to create a storage space that is larger in size and more reliable than a single disk drive.

The device identification for a RAID subsystem is in the format of rsubsystem_number, where subsystem_number indicates the specific RAID subsystem. An example of an ID for the RAID subsystem is r0.

10.2.2.1. Displaying RAID Subsystem Information

The raid subsystems show command identifies a given RAID subsystem or all RAID subsystems on the SpinServer system. After identification is made, the following information about the RAID subsystem or subsystems is displayed by the system:

  • Subsystem ID

  • Names of servers connected to the RAID subsystem

  • Identification of the RAID controllers connected to the RAID subsystem

  • Disk enclosures connected to the RAID subsystem

  • Number of disk enclosures connected to the RAID subsystem

  • Number of disks in the RAID subsystem

  • Number of RAID sets included in the RAID subsystem

  • Background initialization setting (true or false).

  • Rebuild rate (percentage)

The syntax of the command follows.

raid subsystems show [-id ID]

The following example displays configuration information about a RAID subsystem with an ID of r0.

spinserver::> raid subsystems show -id r0
   ID                      r0                                      
   Status                  Online                                  
   Host Connections        (p417 -- r0c0) , (p417 -- r0c1)         
   SpinServers Connected   p417                                    
   Controllers             r0c0, r0c1                              
   RAID sets               r0s0, r0s1, r0s2, r0s3, r0s4, r0s5      
   Enclosures              r0e1, r0e2                              
   Battery                 r0b1                                     
   # Enclosures            2                                       
   # Disks                 32                                      
   # RAID sets             6                                       
   Background Init         true                                    
   Rebuild Rate (%)        0  

10.2.2.2. Displaying RAID Subsystem Events

The raid subsystems events command displays events that have occurred on a particular RAID controller. This is useful for diagnosing problems with RAID arrays. The command has the following syntax:

raid subsystems events -id ID -number number_of_events

In this command, -id ID specifies the ID of the RAID controller whose events are to be displayed, and -number number_of_events specifies the number of events that are to be displayed. If this value is higher than the number of messages from the RAID controller, then all of the messages from the controller are displayed.

The following command displays the first 10 events for the RAID subsystem r0.

spinserver::> raid subsystems events -id r0 -number 10
Action "Raid Events" returned with the following status:
0: System (sys: r0) started successfully.[12 Aug 09:43:19]
1: Automatic reboot count has changed on System (sys: r0).[12 Aug 09:43:19]
2: Dual controllers enabled on System (sys: r0).[12 Aug 09:43:19]
3: Updated partner's status on System (sys: r0).[12 Aug 09:43:19]
4: Dual controllers entered nexus on System (sys: r0).[12 Aug 09:43:19]
5: System (sys: r0) started successfully.[12 Aug 09:43:19]
6: Automatic reboot count has changed on System (sys: r0).[12 Aug 09:43:19]
7: Dual controllers enabled on System (sys: r0).[12 Aug 09:43:19]
8: Updated partner's status on System (sys: r0).[12 Aug 09:43:19]
9: Controller started completed  on System (sys: r0).[12 Aug 09:43:19]

10.2.2.3. Modifying RAID Subsystem Configuration

Use the raid subsystems modify command to modify the background initialization setting and rebuild rate for the RAID subsystem. The syntax of the command follows.

raid subsystems modify -id ID -bkginit {true | false} -rebuildrate rebuild_rate

The following example enables background initialization (true) and sets the rebuild rate to 5 percent of the controller's CPU for a RAID subsystem named r0.

spinserver::> raid subsystems modify -id r0 -bkginit true -rebuildrate 5

10.2.2.4. Disabling and Enabling SMART for a RAID Subsystem

The Self-Monitoring, Analysis, and Reporting Technology (SMART) is an open standard for developing disk drive and software systems that automatically monitors a disk's functional status and reports potential problems to the system. The reports from SMART enable you to proactively respond to disk failures. SMART is enabled by default.

10.2.2.4.1. Disabling SMART

To disable SMART for all the disk drives of a RAID subsystem, use the raid subsystems disablesmart command. The syntax of the command follows.

raid subsystems disablesmart -id ID

The following example disables SMART for a RAID subsystem with the ID r0.

spinserver::> raid subsystems disablesmart -id r0

10.2.2.4.2. Enabling SMART

To enable SMART for all the disk drives of a RAID subsystem, use the raid subsystems enablesmart command. The syntax of the command follows.

raid subsystems enablesmart -id ID

The following example enables SMART for a RAID subsystem with the ID r0.

spinserver::> raid subsystems enablesmart -id r0

10.2.2.5. Discovering Disk Enclosures

The raid subsystems discoverenclosures command forces the SpinServer system to recognize a newly attached disk enclosure, either RAID or JBOD. The syntax of the command follows.

raid subsystems discoverenclosures -id ID

The following example forces the RAID subsystem named r0 to recognize a newly attached disk enclosure.

spinserver::> raid subsystems discoverenclosures -id r0

10.2.2.6. Updating Disk Firmware on a RAID Subsystem

The raid subsystems updatediskfirmware command updates the firmware on all physical disks in a RAID subsystem from an absolute file path specified by the value of the -imagefile parameter. Note the following before upgrading disk firmware on a RAID subsystem:

Caution:

Upgrading the disk firmware can possibly but rarely cause data loss. It is recommended that you back up all of the data on the RAID subsystem or copy it to another storage pool before upgrading the disk firmware

  • If a RAID set is in a critical state, it is not fault tolerant, and its disks' firmware cannot be upgraded until the RAID set is rebuilt.

  • If a failure occurs during the upgrade process, some of the disks can have the new firmware while other disks do not. In addition, one of the RAID sets can become critical because it has lost use of a disk. To restore normal operation, use a standard recovery technique such as rebuilding the RAID set by using a spare disk.

  • To modify the firmware on a specific disk, use the raid diskdrives updatefirmware command.

The syntax of the command follows.

raid subsystems updatediskfirmware -id ID -imagefile image_file_path

The following example updates the firmware on all physical disks in a RAID subsystem with the ID r0 from a firmware image located at /usr/ima/spin.ima.

spinserver::> raid subsystems updatediskfirmware -id r0 -imagefile /usr/ima/spin.ima

10.2.2.7. Resetting the RAID Subsystem

In the event of an error, use the raid subsystems reset command to reset the RAID subsystem. The RAID subsystem needs to be reset to refresh its status. The syntax of the command follows.

raid subsystems reset -id ID

The following example resets a RAID subsystem with the ID r0.

spinserver::> raid subsystems reset -id r0

10.2.2.8. Dumping the RAID Subsystem Configuration Information

To provide support personnel with configuration information to assist you in debugging a SpinServer system's RAID controllers, use the raid subsystems dumpconfig command. The command writes configuration information to a file specified by the value of the -file parameter. The syntax of the command follows.

raid subsystems dumpconfig -id ID -file file_path

The following example prints the configuration information for a RAID subsystem with the ID r0 to a file named /tmp/r0.dump.

spinserver::> raid subsystems dumpconfig -id r0 -file /tmp/r0.dump

10.2.3. Managing Disks in a RAID Subsystem

Managing disk drives in a RAID subsystem includes the tasks of locating a particular disk or set of disks, displaying disk status information, and preparing a disk for removal from the enclosure.

The ID of the disks in a RAID subsystem is in the format rsubsystem_numberddisk_number, where subsystem_number indicates the RAID subsystem and disk_number indicates the specific disk drive.

10.2.3.1. Displaying System Disk Information

Use the raid diskdrives show command to display information about all the disks in a RAID subsystem or information about one disk. The syntax of the command follows.

raid diskdrives show [-id ID]

The following example displays information about all disks in a RAID subsystem.

spinserver::> raid diskdrives show
Device ID  Capacity     Status      Used By   Channel Target

r0d1       33 GB    Online         r0s0       1       0
r0d10      33 GB    Online         r0s1       0       5
r0d13      33 GB    Online         r0s1       1       6
r0d14      33 GB    Online         r0s1       0       7
r0d17      33 GB    Online         r0s1       1       8
r0d18      33 GB    Online         r0s1       0       9
r0d2       33 GB    Online         r0s0       0       1
r0d21      33 GB    Online         r0s2       1       10
r0d22      33 GB    Online         r0s2       0       11
r0d25      33 GB    Online         r0s2       1       12
r0d26      33 GB    Online         r0s2       0       13
r0d29      33 GB    Online         r0s2       1       14
r0d5       33 GB    Online         r0s0       1       2
r0d6       33 GB    Online         r0s0       0       3
r0d9       33 GB    Online         r0s0       1       4
r1d33      33 GB    Online         r1s3       1       16
r1d34      33 GB    Online         r1s3       0       17
r1d37      33 GB    Online         r1s3       1       18
r1d38      33 GB    Online         r1s3       0       19
r1d41      33 GB    Online         r1s3       1       20
r1d42      33 GB    Online         r1s4       0       21
-- Type 'q' to quit and any key to continue --

10.2.3.2. Locating a Disk Drive

The raid diskdrives locate command locates a disk in a system. The front-panel LED of the disk blinks for the number of minutes specified by the value of the -time parameter to indicate the location of the disk in the SpinStor. The default value of the -time parameter is 0, indicating that the LED blinks for less than one minute. The syntax of the command follows.

raid diskdrives locate -deviceid device_ID -time minutes

The following example locates a disk named r0d14 in a RAID subsystem and causes the front-panel LED of the disk to blink for 2 minutes.

spinserver::> raid diskdrives locate -deviceid r0d14 -time 2

10.2.3.3. Checking Sense Data

The raid diskdrives checksense command returns sense data for a specified disk drive. Sense data is useful for diagnosing problems with the physical disk drive. The syntax of the command follows.

raid diskdrives checksense -deviceid device_ID

The following example returns sense data for a disk drive named r0d1.

spinserver::> raid diskdrives checksense -deviceid r0d1
Action "Check Sense" returned with the following status:
70 00 00 04 45 dc 6d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

10.2.3.4. Creating a Hot Spare Disk

The raid diskdrives makehotspare command identifies a disk by its disk ID and designates its status as a hot spare in a RAID subsystem. A hot spare is a replacement disk that can be used to rebuild all user data from a failed disk in the RAID subsystem. Use this command to create as many hot spares as the RAID subsystem requires. The syntax of the command follows.

raid diskdrives makehotspare -deviceid device_ID

The following example creates a hot spare for the RAID subsystem on the disk with ID r0d154.

spinserver::> raid diskdrives makehotspare -deviceid r0d154

10.2.3.5. Replacing a Disk in an Enclosure

Removing and replacing a disk from a disk enclosure involves the following steps:

  1. Take the disk offline. See Section 10.2.3.5.1 for more information.

  2. Inform the system that the disk is going to be removed. See Section 10.2.3.5.2 for more information.

  3. Remove the disk.

  4. Insert the replacement disk.

  5. Bring the replacement disk online. See Section 10.2.3.5.3 for more information.

10.2.3.5.1. Taking a Disk Offline

Before removing a disk from a RAID or attached expansion JBOD enclosure, you must take the disk offline.

Taking a disk offline is necessary when doing maintenance on the disk or replacing a faulty disk with a new one. The raid diskdrives makeoffline command identifies a disk by its disk ID and designates it for offline status. The syntax of the command follows.

raid diskdrives makeoffline -deviceid device_ID

The following example takes a disk with ID r0d14 offline.

spinserver::> raid diskdrives makeoffline -deviceid r0d14

10.2.3.5.2. Preparing a Disk for Removal

Before physically removing a disk from a system, use the raid diskdrives prepareforremoval command to alert the RAID subsystem to the removal of the disk. The syntax of the command follows.

raid diskdrives prepareforremoval -deviceid device_ID

Important: After disengaging a drive from the enclosure, wait 30 seconds before pulling the carrier out of the enclosure. This enables the drive to properly spin down and shut down before you completely remove it from the enclosure.

The following example tells the system to prepare to have the disk with ID r0d14 removed.

spinserver::> raid diskdrives prepareforremoval -deviceid r0d14

10.2.3.5.3. Bringing a Disk Online

After completing the required maintenance on the disk, or when replacing a disk with a new one, use the raid diskdrives makeonline command to bring a disk back online. The syntax of the command follows.

raid diskdrives makeonline -deviceid device_ID

The following example brings the disk with ID r0d12 online.

spinserver::> raid diskdrives makeonline -deviceid r0d12

10.2.3.6. Performing a Disk Self-Test

Use the raid diskdrives selftest command to perform a check of the status of a physical disk in a RAID subsystem. The syntax of the command follows.

raid diskdrives selftest -deviceid device_ID -option options

The following example checks the status of a physical disk with the ID r0d12 by using default options.

spinserver::> raid diskdrives selftest -deviceid r0d12 -option default

10.2.3.6.1. Checking the Status of a Disk Self-Test

To determine the degree of completion of a disk self-test, use the raid diskdrives selfteststatus command. The syntax of the command follows.

raid diskdrives selfteststatus -deviceid device_ID

The following example checks the status of the self-test of a disk with the ID r0d12.

spinserver::> raid diskdrives selfteststatus -deviceid r0d12

10.2.3.6.2. Stopping a Disk Self-Test

To stop a disk self-test, use the raid diskdrives stopselftest command. The syntax of the command follows.

raid diskdrives stopselftest -deviceid device_ID

The following example stops the self-test of a disk with the ID r0d12.

spinserver::> raid diskdrives stopselftest -deviceid r0d12

10.2.3.7. Updating Disk Firmware

The raid diskdrives updatefirmware command updates the firmware on a specific disk drive in a RAID subsystem. The command has the following syntax.

raid diskdrives updatefirmware -deviceid device_ID -imagefile file_path

Note: To modify the firmware on all physical disks in a RAID subsystem, use the raid subsystems updatediskfirmware command.

The following example updates the firmware of a disk with the ID r0d4 from a firmware image located at /usr/ima/spin.ima.

spinserver::> raid diskdrives updatefirmware -deviceid r0d4 -imagefile /usr/ima/spin.ima

10.2.3.7.1. Checking the Status of a Disk Firmware Update

To determine the degree of completion of the update of the firmware on a specific disk in a RAID subsystem, use the raid diskdrives firmwareupdatestatus command. The command has the following syntax.

raid diskdrives firmwareupdatestatus -deviceid device_ID

The following example displays the status of the firmware update for a disk with ID r0d4.

spinserver::> raid diskdrives firmwareupdatestatus -deviceid r0d4

10.2.4. Managing SpinStor Disk Enclosures

Managing disk enclosures in a RAID subsystem includes the tasks of verifying the enclosure settings and silencing the alarms in the event of an error. The ID of a disk enclosure in a RAID subsystem is in the format rsubsystem_numbereenclosure_number, where subsystem_number indicates the RAID subsystem and enclosure_number indicates the specific enclosure.

10.2.4.1. Displaying Disk Enclosure Settings

To view the settings of RAID or attached expansion JBOD enclosures, use the raid enclosures show command. Disk enclosures are attached by Fibre Channel to the SpinServer. The raid enclosures show command displays information about one disk enclosure or all disk enclosures. To display information about one disk enclosure, use the command with the -deviceid parameter. To display a list of all enclosures in the system, use no parameters. The command displays the following information:

  • Device name

  • Status

  • Manufacturer

  • Model number

  • RAID subsystem

  • World Wide Name

  • Enclosure service type

  • Number of populated disk slots

  • Controller status

  • Fan status

  • Power-supply status

  • Temperature status

  • Alarm status

  • UPS status

  • Daisy-chain status (true or false)

  • System type (RAID or JBOD)

  • Temperature warning settings

  • Temperature failure settings

  • Alarm-enablement status

The command has the following syntax.

raid enclosures show [-deviceid device_ID]

The following example displays information about all RAID enclosures.

spinserver::> raid enclosures show
Device ID       Model        Status  Access  Type

r0e1      FR15-F22-2SM3.    OK       OK      SES
r1e1      FR15-F22-2Sxx.    OK       OK      SES
r1e2      FR15-F22-2SM3.    OK       OK      SES

10.2.4.2. Locating an Enclosure

To locate a RAID enclosure, use the raid enclosures locate command. This command causes all of the LEDs on the enclosure to flash. The syntax of the command follows.

raid enclosures locate -deviceid device_ID

The following example causes all of the LEDs on the enclosure named r0e0 to flash.

spinserver::> raid enclosures locate -deviceid r0e0

10.2.4.3. Silencing the Alarm

In the event that there is a problem with a disk enclosure, a beeping sound emanates from the disk enclosure. To silence this alarm, use the raid enclosures mute command. The syntax of the command follows.

raid enclosures mute -deviceid device_ID

The following example silences the alarm on a disk enclosure with the ID r0e1.

spinserver::> raid enclosures mute -deviceid r0e1

10.2.5. Managing RAID Controllers

Managing the RAID controllers in a RAID subsystem includes the tasks of monitoring controller information and status, updating controller firmware, and taking the controller's partner offline for maintenance. The ID of the RAID controller is in the format rsubsystem_numberccontroller_number, where subsystem_number indicates the RAID subsystem and controller_number indicates the specific RAID controller.

10.2.5.1. Displaying RAID Controller Information

The raid controllers show command displays information about one RAID controller or all RAID controllers in the system. After identification is made, the following information about the RAID controller or controllers is displayed by the system:

  • Device name

  • Status

  • Model number

  • Firmware version number

  • RAID subsystem

  • Enclosure ID

  • World Wide Name

  • Cache size

  • Memory size

  • Battery backup unit

  • Number of host ports

  • Number of drive channels

  • Bus type

  • Bus width

  • Bus speed

  • Number of physical devices connected to the controller (including itself and its partner)

  • Number of logical drives

  • Partner status

  • Fault tolerant status

  • Port device name

  • Number of ports

The command has the following syntax:

raid controllers show [-deviceid device_ID]

The following example displays information about all RAID controllers in a system.

spinserver::> raid controllers show
Device ID      Status        Model  Version  Partner 
                                                     
r0c0      Active            FFx-2   8.50     Active  
r0c1      Active            FFx-2   8.50     Active  

10.2.5.2. Taking a RAID Controller's Partner Offline

When maintenance is required on a RAID controller's partner, such as replacing a faulty RAID I/O module, you must take the RAID controller's partner controller offline. To take a RAID controller's partner controller offline, use the raid controllers setpartneroffline command. The command has the following syntax:

raid controllers setpartneroffline -deviceid device_ID

The following example sets the partner of a RAID controller with the ID r0c1 offline:

spinserver::> raid controllers setpartneroffline -deviceid r0c1

10.2.5.3. Bringing a RAID Controller's Partner Online

When maintenance is complete on a RAID controller's partner, use the raid controllers setpartneronline command to bring the RAID controller's partner controller back online. The command has the following syntax:

raid controllers setpartneronline -deviceid device_ID

The following example sets the partner of a RAID controller with the ID r0c1 online:

spinserver::> raid controllers setpartneronline -deviceid r0c1

10.2.5.4. Updating Firmware for RAID Controllers

Use the raid controllers updatefirmware command to update the firmware for a RAID controller in the system. The command has the following syntax:

raid controllers updatefirmware -deviceid device_ID -imagefile file_path

The following example updates the firmware for a RAID controller with the ID r0c1 with the image located at /usr/ima/spin.ima.

spinserver::> raid controllers updatefirmware -deviceid r0c1 -imagefile /usr/ima/spin.ima

10.2.6. Managing the Battery Backup Unit

The battery backup unit (BBU) maintains the RAID controller's data in random access memory (RAM) in the event that AC power is lost to the disk storage system. The BBU must be replaced when it can no longer take or hold a charge.

The device identification for the battery backup unit is in the format rsubsystem_numberbbattery_ID, where subsystem_number is the ID of the RAID subsystem and b indicates the BBU.

10.2.6.1. Displaying BBU Information

The raid bbu show command displays information about the BBU. This command can be used without any parameters to display information about all battery backup units in the RAID subsystem or with the -deviceid parameter to display information about a battery backup unit in a specific RAID subsystem. The command displays the following information:

  • Device ID

  • Type of battery (for example, NiCAD)

  • Version number of the RAID controller

  • Status

  • Current power (minutes)

  • Maximum power (minutes)

  • Charge level (%)

  • Low-power threshold (minutes)

The current power level of the battery is expressed in minutes of charge. The value changes as the battery is discharged and recharged.

The maximum power is the highest level of charge of the battery. It is expressed in minutes of charge. It changes as the battery ages and is reconditioned. The older the battery, the less charge it can hold.

The charge level is expressed in percentage of the battery's current charge level. The battery is charged to its maximum level when the charge level is 100%.

The syntax of the command follows.

raid bbu show [-deviceid device_ID]

The following example displays information for a BBU with the ID r0b1.

spinserver::> raid bbu show -deviceid r0b1
   Device ID                   r0b1
   Type                        NiCAD
   Version                     1
   Status                      OK
   Current Power (Min)         1500
   Max Power (Min)             1500
   Charge Level (%)            100
   Low Power Threshold (Min)   1200

10.2.6.2. Modifying the Low-Power Threshold Setting

The low-power threshold is expressed in minutes of charge that the BBU can hold. If the power level drops below the low-power threshold that you set, an alarm is triggered.

Use the raid bbu modify command to modify the low-power threshold of the BBU. The syntax of the command follows.

raid bbu modify -deviceid device_ID -threshold threshold

The following example sets the low-power threshold of the BBU with ID r0b1 to a value of 1200, so that an alarm is triggered when the BBU's reserve power drops to 1,200 minutes.

spinserver::> raid bbu modify -deviceid r0b1 -threshold 1200

10.2.6.3. Reconditioning the BBU

A full battery-reconditioning cycle consists of discharging and recharging the battery. The reconditioning cycle must start with a fully charged battery. Normally, the battery is automatically recharged, but in a new system or in a system that has experienced a power failure, the battery must go through the reconditioning process. A fast recharge occurs when the RAID controller loses power and is powered on again.

The reconditioning cycle must be completed without an interruption of power. Also, do not interrupt the reconditioning cycle by using the raid bbu stop command to stop the reconditioning process. If the cycle is interrupted for any reason, the battery must be recharged and the reconditioning process restarted. The reconditioning process can take several hours.

Under normal usage, a BBU needs to be reconditioned if it has gone through 30 or more discharge/recharge cycles.

10.2.6.3.1. Initiating a Reconditioning of a BBU

Use the raid bbu recondition command to initiate the reconditioning of a BBU. The syntax of the command follows.

raid bbu recondition -deviceid device_ID

The following example initiates the reconditioning of a BBU with the ID r0b1.

spinserver::> raid bbu recondition -deviceid r0b1

10.2.6.3.2. Stopping the Reconditioning of a BBU

Use the raid bbu stop command to stop the reconditioning of a BBU. The command has the following syntax.

raid bbu stop -deviceid device_ID

The following example stops the reconditioning of a BBU with the ID r0b1.

spinserver::> raid bbu stop -deviceid r0b1

10.2.6.4. Initiating a Fast Charge

If a BBU is fully discharged, it must be recharged before use by the RAID controller. To initiate a fast charge on the BBU, use the raid bbu fastcharge command. The command has the following syntax.

raid bbu fastcharge -deviceid device_ID

The following example initiates a fast charge on the BBU with ID r0b1.

spinserver::> raid bbu fastcharge -deviceid r0b1

If you are using the browser interface, the following confirmation message is displayed:

Are you sure you want to initiate a fast charge on the battery?

Click OK to confirm.

10.2.6.5. Scheduling RAID Operations

You can schedule automatic consistency checks of RAID sets by using the raid schedules commands.

10.2.6.5.1. Creating a RAID Schedule

The raid schedules new command creates a new RAID schedule. A schedule consists of a schedule name, an action to be performed, the device or devices on which the action is performed, and the time interval at which the action is performed. The schedule can initially be enabled or disabled. Currently, the only supported value for the -raidaction parameter is ConsistencyCheck for a RAID consistency check. The command has the following syntax:

raid schedules new -name schedule_name -raidaction action_name -devices device_name_or_pattern -schedule {#-Minutely | hourly | daily | weekly | monthly | yearly} -enabled {true | false}

The following command example creates a RAID schedule named raid.sched.1. It runs a consistency check on all devices named r1s* on a daily basis. It is enabled.

spinserver::> raid schedules new -name raid.sched.1 -raidaction ConsistencyCheck -devices r1s* -schedule daily -enabled true

10.2.6.5.2. Displaying Information about RAID Schedules

Use the raid schedules show command to display information about a single RAID schedule (if the -name parameter is specified) or all RAID schedules. The command displays the following information:

  • Schedule name

  • Action

  • Device or devices

  • Schedule (time interval)

  • Whether or not the schedule is enabled

  • Time of next execution (GUI only)

  • Time of last execution

The command has the following syntax:

raid schedules show [-name schedule_name]

The following command example displays information about all RAID schedules.

spinserver::> raid schedules show
Name         Action       Devices        Schedule      Enabled?    Last Execution 

raid.sched.1 ConsistencyCheck r0s6       weekly        true 

10.2.6.5.3. Enabling or Disabling a RAID Schedule

The raid schedules modify command enables or disables a RAID schedule. The command has the following syntax:

raid schedules modify -name schedule_name -enabled {true | false}

The following example disables a RAID schedule named raid.sched.1.

spinserver::> raid schedules modify -name raid.sched.1 -enabled false

10.2.6.5.4. Deleting a RAID Schedule

The raid schedules delete command deletes a RAID schedule. The command has the following syntax:

raid schedules delete -name schedule_name

The following example deletes a RAID schedule named raid.sched.1.

spinserver::> raid schedules delete -name raid.sched.1

Copyright © 2004 Network Appliance, Inc.; copyright © 2003, 2004 Spinnaker Networks, LLC. All rights reserved. Specifications subject to change without notice.